﻿Option Explicit On


Public Class AlTa_de_Especialidad
    Inherits System.Web.UI.Page



    Private Function cargarNUevaProfesion() As Boolean

        Dim param(0) As ADODB.Parameter


        param(0) = New ADODB.Parameter
        param(0).Name = "@NuevaProfesion"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = txtNUEVAprofesion.Text
        param(0).Size = 50


        cargarNUevaProfesion = Datos.Agregar("cargarNUevaProfesion", param, "CARGANUEVAPROFESION-altaEspecialidad.aspx")



    End Function
    Private Sub MuestraEspecialidades()
        Dim Rs As ADODB.Recordset
        Dim Dt As New DataTable


        ''''vacio la grilla
        Gv_especialidades.DataBind()
        '-------------------




        Rs = Datos.TraerTodos("TraeEspecialidadyProfesion", Nothing, "")

        Dt = FG.cargaUnDataTable(Rs)

        Gv_especialidades.DataSource = Dt
        Gv_especialidades.DataBind()






    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load


        If Not Page.IsPostBack Then
            FG.culturaPaginas()

            'inicializa los paneles
            P_agregar.Visible = False
            P_modificar.Visible = False
            P_agregaPROFESION.Visible = False

            'cargo la grilla cn las especialidades 
            MuestraEspecialidades()


            'Cargo páginas anterior y actual!!!
            Var_Globales.Setea_paginas("AlTa_de_Especialidad.aspx")

        End If

    End Sub

    Private Sub Gv_especialidades_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles Gv_especialidades.PageIndexChanging
        'cambio la pagina 
        Gv_especialidades.PageIndex = e.NewPageIndex
        'y hago de nuevo la busqueda 
        MuestraEspecialidades()


    End Sub

    Protected Sub Gv_especialidades_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles Gv_especialidades.SelectedIndexChanged
        Dim row As GridViewRow = Gv_especialidades.SelectedRow

        'oculto el panel de agregar 
        P_agregar.Visible = False
        '--------------------


        'inicializo los campos del panel de moficar
        txtMod_Especialidad.Text = ""
        LblEspecialidad_Oculta.Text = ""
        lbl_TIPO_EspecialidadOculta.Text = ""
        lblMesjeErorAlModificar.Text = ""
        lblMesjeErorAlModificar.Visible = False


        'asigno el valor a modificar en el lbl oculto para saber cual es 
        LblEspecialidad_Oculta.Text = row.Cells(1).Text
        lbl_TIPO_EspecialidadOculta.Text = row.Cells(2).Text
        'esto es para saber donde tengo q modificar



        ''asigo la especialidad a modicar para q el usuario la modique 
        txtMod_Especialidad.Text = row.Cells(1).Text




        'muestro el panel de mofidicacion 
        P_modificar.Visible = True
        txtMod_Especialidad.Focus()




    End Sub


    Protected Sub lnkBtnAgrgar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles lnkBtnAgrgar.Click

        'inicializo el panel agrgar 
        lblMsjeDeErrorAlagregarEspc.Text = ""
        lblMsjeDeErrorAlagregarEspc.Visible = False
        txtNuevaEspecialida.Text = ""
        FG.CargaCombo("traeTipoDeEspecialidad", cboTipoEspecialidad)
        '-------------------------

        'pongo visible el panel para agregar
        P_agregar.Visible = True


        ' oculto el de modificar
        P_modificar.Visible = False
        txtNuevaEspecialida.Focus()


    End Sub

    Protected Sub lnkBtnCerrarPanelAgregar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles lnkBtnCerrarPanelAgregar.Click
        P_agregar.Visible = False

    End Sub

    Protected Sub lnk_OculyarPanelModificar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles lnk_OculyarPanelModificar.Click
        P_modificar.Visible = False
    End Sub

    Private Function GuardaEspecialidadModificada() As Boolean
        Dim param(2) As ADODB.Parameter


        param(0) = New ADODB.Parameter
        param(0).Name = "@TipoEspecialidad"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = lbl_TIPO_EspecialidadOculta.Text
        param(0).Size = 50


        param(1) = New ADODB.Parameter
        param(1).Name = "@EspecialidadVieja"
        param(1).Type = ADODB.DataTypeEnum.adVarChar
        param(1).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(1).Value = LblEspecialidad_Oculta.Text
        param(1).Size = 50


        param(2) = New ADODB.Parameter
        param(2).Name = "@EspecialidadModificada"
        param(2).Type = ADODB.DataTypeEnum.adVarChar
        param(2).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(2).Value = txtMod_Especialidad.Text
        param(2).Size = 50


        'me voy a la base a guardar
        GuardaEspecialidadModificada = Datos.Modificar("MoDificaUnaEspecialidad", param, "Function GuardaEspecialidadModificada de especialidad.apx")


    End Function

    Protected Sub cmdGuadarCambios_Click(ByVal sender As Object, ByVal e As EventArgs) Handles cmdGuadarCambios.Click

        'saco el cartel de error al guardar
        lblMesjeErorAlModificar.Text = ""
        lblMesjeErorAlModificar.Visible = False



        'valido el campo
        If txtMod_Especialidad.Text = "" Then
            lblMesjeErorAlModificar.Text = "Se requiere una especialidad"
            lblMesjeErorAlModificar.Visible = False
            Exit Sub
        End If


        'guardo ,, y si esta mal,,,aviso y salgo 
        If GuardaEspecialidadModificada() = False Then
            MsgBox("Se produjo un error al guardar la especialidad", MsgBoxStyle.Critical, "ERROR")
            Exit Sub
        End If


        ' llego hasta aca(es que llego bien ,, oculto el panel y cargo la grilla de nuevo 
        P_modificar.Visible = False
        MuestraEspecialidades()




    End Sub

    Protected Sub cmd_agregarEspecialidad_Click(ByVal sender As Object, ByVal e As EventArgs) Handles cmd_agregarEspecialidad.Click
        lblMsjeDeErrorAlagregarEspc.Text = ""
        lblMsjeDeErrorAlagregarEspc.Visible = False



        MsgBox("ESTE ME FALTA TERMINAR")

    End Sub

    Protected Sub lnkBtnAgregarProfesion_Click(ByVal sender As Object, ByVal e As EventArgs) Handles lnkBtnAgregarProfesion.Click
        txtNUEVAprofesion.Text = ""
        lblMsjeErrorGuardarProfesion.Visible = False
        lblMsjeErrorGuardarProfesion.Text = ""


        P_agregaPROFESION.Visible = True


        P_agregar.Visible = False
    End Sub

    Protected Sub CMDGuardaPROFESION_Click(ByVal sender As Object, ByVal e As EventArgs) Handles CMDGuardaPROFESION.Click
        lblMsjeErrorGuardarProfesion.Text = ""
        lblMsjeErrorGuardarProfesion.Visible = False

        If txtNUEVAprofesion.Text = "" Then
            lblMsjeErrorGuardarProfesion.Text = "Falta especificar la nueva profesion"
            lblMsjeErrorGuardarProfesion.Visible = True
            Exit Sub
        End If



        'si cargo bien ,, cargo de nuevo el combo y le asigo el valor , luego oculto el panel 
        If cargarNUevaProfesion() = True Then

            FG.CargaCombo("traeTipoDeEspecialidad", cboTipoEspecialidad)
            cboTipoEspecialidad.Text = txtNUEVAprofesion.Text

            P_agregaPROFESION.Visible = False
            P_agregar.Visible = True

            txtNuevaEspecialida.Focus()
        Else
            MsgBox("ERror al cargar la nueva profesion", MsgBoxStyle.Critical, "ERROR")

        End If

    End Sub

    Protected Sub lnkCerrarCargaProfesion_Click(ByVal sender As Object, ByVal e As EventArgs) Handles lnkCerrarCargaProfesion.Click
        P_agregaPROFESION.Visible = False
        P_agregar.Visible = True

        txtNuevaEspecialida.Focus()

    End Sub
End Class